package ws;

import java.util.ArrayList;
import java.util.Collection;

import org.orm.PersistentException;

import soapvo.CursoSOAPVO;

import com.google.gson.Gson;

public class CursoSOA {
	
	public String getTodosLosCursos () throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_curso[] curso;

		curso = factory.getTrp_cursoDAO().listTrp_cursoByQuery(null, null);
		return buscar(curso);
	}
	
	
	public String getCursoId (int cu_curso) throws PersistentException {
		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_curso[] curso;

		curso = factory.getTrp_cursoDAO().listTrp_cursoByQuery("cu_curso = " + cu_curso, null);
		
		return buscar(curso);
	}
	
	public String getCursoColegio (String coleg) throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_curso[] curso;

		curso = factory.getTrp_cursoDAO().listTrp_cursoByQuery("colegio.co_nombre= '" + coleg+"'", null);
		return buscar(curso);
	}
	
	private String buscar(orm.Trp_curso[] arreglo) {

		String mensaje=" ";
		int largo=0;	
		Collection<CursoSOAPVO> coleccionSoapvo = new ArrayList<CursoSOAPVO>();
		largo = arreglo.length;

		if(largo>0){

			for(int i=0;i<largo;i++) {
				CursoSOAPVO objeto = CursoSOAPVO.crearSOAPVO(arreglo[i]);
				coleccionSoapvo.add(objeto);
			}		
			Gson gson = new Gson();
			mensaje = gson.toJson(coleccionSoapvo);

		} else mensaje = "No existen registros;";

		return mensaje;
	}

}
